import Vue from 'vue'
import App from './App.vue'
import "./drectives"
import "./components"
import VueRouter from 'vue-router'
import router from './router'
import Vuex from 'vuex'
import store from './store'
import "./filters"
Vue.config.productionTip = false

// 如果要使用路由，需要使用Vue.use注册
Vue.use(VueRouter)

// 全局混入
Vue.mixin({
  created(){
    console.log('全局混入，一般是用不到的');
  }
})

// Vue.prototype.$bus = new Vue({})
// Vue 是一个 用于构建单页面应用的 前端框架
// 只会控制一个 div 里面的所有的数据 ， 该 div 就是Vue的根结构(标签)

const vm = new Vue({
  // 这个部分是 vue 中提供的一个渲染函数，用来生成结构
  render: h => h(App),
  router,
  store
  // data(){
  //   return {
  //     count: 0
  //   }
  // },
  // methods:{
  //   add(){},
  //   subtrct(){}
  // },
  // computed:{
  //   double(){
  //     return this.count * 2
  //   }
  // }
})
// $mount 就是把 Vue的 实例 挂载到 id 为 app 的div身上
.$mount('#app')

// 为什么在 Vue的实例 ，也就是this 上面，可以访问到 data，method ，computed ， ...  里面的数据
// 因为 在Vue 创建的过程中，会把 我们写在 data,method,computed, ... 里面的数据，映射到 this 身上
// console.log(vm);
